package com.wc.AlgoOJ_train.train1.c8.A802;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

/**
 * @Author congge
 * @Date 2024/1/11 16:16
 * @description Coin Change
 * http://43.138.190.70:8888/p/A802
 */
public class Main {
    static FastReader sc = new FastReader();

    public static void main(String[] args) {
        int maxN = 250 + 7;
        int[] val = new int[]{1, 5, 10, 25, 50};
        int m = val.length;
        int ka = 100;
        int[][][] dp = new int[m + 1][ka + 1][maxN];
        for (int i = 0; i <= 100; i++) {
            dp[0][i][i] = 1;
        }
        // 多重背包
        for (int i = 1; i < m; i++) { // 规模
            for (int k = 0; k <= ka; k++) { // 限制
                for (int j = 0; j < maxN; j++) { // 钱
                    int num = 0;
                    while (j >= val[i] * num && k - num >= 0 && k - num <= 100) {
                        dp[i][k][j] += dp[i - 1][k - num][j - val[i] * num];
                        num++;
                    }
                }
            }
        }

        Scanner sc = new Scanner(System.in);
        long[] mm = new long[maxN];
        for (int i = 0; i < maxN; i++) {
            for (int j = 0; j <= 100; j++) {
                mm[i] += dp[m - 1][j][i];
            }
        }
        while (sc.hasNextInt()) {
            int n = sc.nextInt();
            System.out.println(mm[n]);
        }
    }
}

class FastReader {
    StringTokenizer st;
    BufferedReader br;

    FastReader() {
        br = new BufferedReader(new InputStreamReader(System.in));
    }

    String next() {
        while (st == null || !st.hasMoreElements()) {
            try {
                st = new StringTokenizer(br.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return st.nextToken();
    }

    int nextInt() {
        return Integer.parseInt(next());
    }
}
